/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controladoras.persistencia;
import erros.ErroPersistencia;
/**
 *
 * @author thiagostuckert
 */
public class CntrPersistenciaHSQLDB extends CntrPersistencia {


    /**
     * Atributo utilizado para a instanciação da controladora em questão.
     */
    private static CntrPersistenciaHSQLDB ref;

    /**
     * Construtor da classe.
     * @throws ErroPersistencia lança erro caso nao consiga
     * abrir conexao com o banco.
     */
    public CntrPersistenciaHSQLDB() throws ErroPersistencia {}

    /**
     * Metodo que instancia a controladora de persistencia.
     * @return Controladora de Persistencia instanciada
     * @throws ErroPersistencia erro ao tentar criar a controladora de persis-
     * tencia.
     */
    public static CntrPersistenciaHSQLDB instanciar() throws ErroPersistencia {
        if (ref == null) {
            ref = new CntrPersistenciaHSQLDB();
        }
        return ref;
    }

    @Override
    protected void criarDriver() throws ErroPersistencia {
        /**
         * Driver do banco HSQLDB.
         */
     String driver = "org.hsqldb.jdbcDriver";
        try {
            Class.forName(driver);
        }
        catch(ClassNotFoundException e){
            throw new ErroPersistencia("Erro na carga do driver.");
        }
    }
}
